/**
 * reducer是一个纯函数,用来处理store发送过来的action
 * 在add这个action中我们定义了{type:'PLUS',number=1}
 * 如何处理呢? 首先需要判断type是+还是-或者乘除  然后number是要加上或者减去的数字.基数是store里面自己定义的
 */

const initialState = {
    result: 0,//这是所有计算结果的初始值,以后每次计算,不管加减乘除都是在此基础上进行运算
}

//这里面的每个方法其实就是一个reducer,这里我们先定义一个计算的reducer
export const calculate = (state = initialState, action) => {
    //通过判断action.type来进行相应操作
    switch (action.type) {
        case 'PLUS':
            return {
                result: state.result + action.number,
            };

        default:
            /**
             * 默认情况下直接返回没有任何操作的结果  state其实就是运算结果,它最终会通过store通知
             * 给view用来更新状态
             */
            return state;

    }
};
const initialLoginState={
    isLogin: false,
    userInfo: null
};
export const login = (state =initialLoginState, action) => {
    switch (action.type) {
        case 'LOGIN'://登录
            return {
                isLogin: true,
                userInfo: action.userInfo,
            };
            break;
        case 'LOGOUT'://登出
            return {
                isLogin: false,
                userInfo: null,
            };
            break;
        default:
            return state;
    }
}